var express = require('express');
var router = express.Router();
// 引入 db 文件
const AccountModel = require('../../models/AccountModel')
// 导入 moment
const moment = require('moment')
// 导入中间件检测登录
let checkLoginMiddleware = require('../../middlewares/checkLgoinMiddleware')


// 记账本列表
router.get('/account', checkLoginMiddleware, function (req, res, next) {
  // 获取 db 数据
  // let accounts = db.get('accounts').value();
  AccountModel.find().sort({ time: -1 }).exec((err, data) => {
    if (err) {
      res.status(500).send('读取失败~~')
      return
    }
    res.render('list', { accounts: data, moment });
  })
});

// 添加记录
router.get('/account/create', checkLoginMiddleware, function (req, res, next) {
  res.render('create');
});

// 新增记录
router.post('/account', checkLoginMiddleware, function (req, res, next) {
  // 生成 id
  // let id = shortid.generate()
  // 写入文件
  // db.get('accounts').unshift({ id: id, ...req.body }).write()
  // res.render('success', { "msg": '添加成功~', "url": "/account" })

  AccountModel.create({
    ...req.body,
    time: moment(req.body.time).toDate()
  }, (err, data) => {
    if (err) {
      res.status(500).send('插入失败~~')
    }
    // 成功提醒
    res.render('success', { "msg": '添加成功~', "url": "/account" })
  })

});

// 删除记录
router.get('/account/:id', checkLoginMiddleware, function (req, res, next) {
  // 获取记录 id
  let id = req.params.id
  // console.log(id);
  // db.get('accounts').remove({ id }).write()
  AccountModel.deleteOne({ _id: id }, (err, data) => {
    if (err) {
      res.status(500).send('删除失败~~')
    }
    res.render('success', { "msg": '删除成功~', "url": "/account" })
  })
});


module.exports = router;
